/******************************************************************************\
 main.c
 
 Beschrijving:
 Dit programma is gemaakt voor het ARM-Board V4.1.
 Dit programma is bedoelt voor het uitlezen van de accelerometer(MMA7455L).
 Dit gebeurt op het I2C protocol.
 Hiervan word het gemiddelde van 15 sampels doorgestuurt via 
 wireless board (MRF24J40). hierna wordt er een ak terug gestuurt.
 
 Gebruikte Pinnen:
 pin 2 en 3: worden geburikt voor I2C(accelerometer).
 pin 4, 5 en 6 : Worden gebruikt voor SPI (wireless board).
\******************************************************************************/
 
/******************************************************************************\
 Include files
\******************************************************************************/ 
#include "LPC214x.h" 
#include "leds.h"
#include "pll.h" 
#include "I2C.h"
#include "vic.h" 
#include "MRF24J40.h"
#include "spi.h"
#include "delay.h"
#include "conv.h"

extern  void __enable_interrupts(); 
extern  void __disable_interrupts(); 

int arraycount = 0; //Counter voor array opstart
int xyzcount = 0; //Counter voor X,Y of Z-waarde
int I2Cstatus = 0;	//Geeft aan welke I2C routine er gedaan moet worden, wordt gebruikt in de ISR.

char Received_Dataext[128];

  char xwaarde; //xwaarde van versnellingsmeter
  char ywaarde; //ywaarde 
  char zwaarde; //zwaarde
  
/******************************************************************************\ 
 main
\******************************************************************************/

extern int main()
{ 
	PINSEL0 = 0x50|0x5;
	PINSEL1 = 0x00; // Interface voor wireless erbij

	char richting = 'x';	
		
	/*   init libs   */
	LED_init();				// 
	PLL_init(); 			// make sure you know to what frequency!!!
	SPI_init(0x0F);			//
	MRF24J40_init(0x4268);	// het adress is 0x4268
	MRF24J40_wake();		
	delay_s(2);	
	MRF24J40_receive();
	I2C_init();
	I2C_start(); 
	
	while(1)
	{
		richting = conv_data();  // neemt de gemidelde waarde van 15 sampels
		MRF24J40_send_byte(richting, 0x4269); // zend en wacht op ack
		LED_put(richting);	// laat zien op de leds welke richting	
	}	 
	return 0;
}



